home *** CD-ROM | disk | FTP | other *** search
- /* scsi/commands.m
-
- Operation codes for SCSI-2 commands
-
- 30 Nov 94 Peter Urbanec Created file
- 10 Jan 95 Peter Urbanec Added SCSI_ prefix to all commands
- 31 Jan 95 Peter Urbanec Released to public
-
- */
- /* All device types */
- #define SCSI_CHANGE_DEFINITION $40
- #define SCSI_COMPARE $39
- #define SCSI_COPY $18
- #define SCSI_COPY_AND_VERIFY $3a
- #define SCSI_INQUIRY $12
- #define SCSI_LOG_SELECT $4c
- #define SCSI_LOG_SENSE $4d
- #define SCSI_MODE_SELECT_6 $15
- #define SCSI_MODE_SELECT_10 $55
- #define SCSI_MODE_SENSE_6 $1a
- #define SCSI_MODE_SENSE_10 $5a
- #define SCSI_READ_BUFFER $3c
- #define SCSI_RECEIVE_DIAGNOSTIC_RESULTS $1c
- #define SCSI_REQUEST_SENSE $03
- #define SCSI_SEND_DIAGNOSTIC $1d
- #define SCSI_TEST_UNIT_READY $00
- #define SCSI_WRITE_BUFFER $3b
- /* Direct Access devices */
- #define SCSI_DA_CHANGE_DEFINITION $40
- #define SCSI_DA_COMPARE $39
- #define SCSI_DA_COPY $18
- #define SCSI_DA_COPY_AND_VERIFY $3a
- #define SCSI_DA_FORMAT_UNIT $04
- #define SCSI_DA_INQUIRY $12
- #define SCSI_DA_LOCK_UNLOCK_CACHE $36
- #define SCSI_DA_LOG_SELECT $4c
- #define SCSI_DA_LOG_SENSE $4d
- #define SCSI_DA_MODE_SELECT_6 $15
- #define SCSI_DA_MODE_SELECT_10 $55
- #define SCSI_DA_MODE_SENSE_6 $1a
- #define SCSI_DA_MODE_SENSE_10 $5a
- #define SCSI_DA_PRE_FETCH $34
- #define SCSI_DA_PREVENT_ALLOW_MEDIUM_REMOVAL $1e
- #define SCSI_DA_READ_6 $08
- #define SCSI_DA_READ_10 $28
- #define SCSI_DA_READ_BUFFER $3c
- #define SCSI_DA_READ_CAPACITY $25
- #define SCSI_DA_READ_DEFECT_DATA $37
- #define SCSI_DA_READ_LONG $3e
- #define SCSI_DA_REASSIGN_BLOCKS $07
- #define SCSI_DA_RECEIVE_DIAGNOSTIC_RESULTS $1c
- #define SCSI_DA_RELEASE $17
- #define SCSI_DA_REQUEST_SENSE $03
- #define SCSI_DA_RESERVE $16
- #define SCSI_DA_REZERO_UNIT $01
- #define SCSI_DA_SEARCH_DATA_EQUAL $31
- #define SCSI_DA_SEARCH_DATA_HIGH $30
- #define SCSI_DA_SEARCH_DATA_LOW $32
- #define SCSI_DA_SEEK_6 $0b
- #define SCSI_DA_SEEK_10 $2b
- #define SCSI_DA_SEND_DIAGNOSTIC $1d
- #define SCSI_DA_SET_LIMITS $33
- #define SCSI_DA_START_STOP_UNIT $1b
- #define SCSI_DA_SYNCHRONIZE_CACHE $35
- #define SCSI_DA_TEST_UNIT_READY $00
- #define SCSI_DA_VERIFY $2f
- /* Sequential access devices */
- #define SCSI_SA_CHANGE_DEFINITION $40
- #define SCSI_SA_COMPARE $39
- #define SCSI_SA_COPY $18
- #define SCSI_SA_COPY_AND_VERIFY $3a
- #define SCSI_SA_ERASE $19
- #define SCSI_SA_INQUIRY $12
- #define SCSI_SA_LOAD_UNLOAD $1b
- #define SCSI_SA_LOCATE $2b
- #define SCSI_SA_LOG_SELECT $4c
- #define SCSI_SA_LOG_SENSE $4d
- #define SCSI_SA_MODE_SELECT_6 $15
- #define SCSI_SA_MODE_SELECT_10 $55
- #define SCSI_SA_MODE_SENSE_6 $1a
- #define SCSI_SA_MODE_SENSE_10 $5a
- #define SCSI_SA_PREVENT_ALLOW_MEDIUM_REMOVAL $1e
- #define SCSI_SA_READ $08
- #define SCSI_SA_READ_BLOCK_LIMITS $05
- #define SCSI_SA_READ_BUFFER $3c
- #define SCSI_SA_READ_POSITION $34
- #define SCSI_SA_READ_REVERSE $0f
- #define SCSI_SA_RECEIVE_DIAGNOSTIC_RESULTS $1c
- #define SCSI_SA_RECOVER_BUFFERED_DATA $14
- #define SCSI_SA_RELEASE_UNIT $17
- #define SCSI_SA_REQUEST_SENSE $03
- #define SCSI_SA_RESERVE_UNIT $16
- #define SCSI_SA_REWIND $01
- #define SCSI_SA_SEND_DIAGNOSTIC $1d
- #define SCSI_SA_SPACE $11
- #define SCSI_SA_TEST_UNIT_READY $00
- #define SCSI_SA_VERIFY $13
- #define SCSI_SA_WRITE $0a
- #define SCSI_SA_WRITE_BUFFER $3b
- #define SCSI_SA_WRITE_FILEMARKS $10
- /* Printer devices */
- #define SCSI_PRT_CHANGE_DEFINITION $40
- #define SCSI_PRT_COMPARE $39
- #define SCSI_PRT_COPY $18
- #define SCSI_PRT_COPY_AND_VERIFY $3a
- #define SCSI_PRT_FORMAT $04
- #define SCSI_PRT_INQUIRY $12
- #define SCSI_PRT_LOG_SELECT $4c
- #define SCSI_PRT_LOG_SENSE $4d
- #define SCSI_PRT_MODE_SELECT_6 $15
- #define SCSI_PRT_MODE_SELECT_10 $55
- #define SCSI_PRT_MODE_SENSE_6 $1a
- #define SCSI_PRT_MODE_SENSE_10 $5a
- #define SCSI_PRT_PRINT $0a
- #define SCSI_PRT_READ_BUFFER $3c
- #define SCSI_PRT_RECEIVE_DIAGNOSTIC_RESULTS $1c
- #define SCSI_PRT_RECOVER_BUFFERED_DATA $14
- #define SCSI_PRT_RELEASE_UNIT $17
- #define SCSI_PRT_REQUEST_SENSE $03
- #define SCSI_PRT_RESERVE_UNIT $16
- #define SCSI_PRT_SEND_DIAGNOSTIC $1d
- #define SCSI_PRT_SLEW_AND_PRINT $0b
- #define SCSI_PRT_STOP_PRINT $1b
- #define SCSI_PRT_SYNCHRONIZE_BUFFER $10
- #define SCSI_PRT_TEST_UNIT_READY $00
- #define SCSI_PRT_WRITE_BUFFER $3b
- /* Processor devices */
- #define SCSI_CPU_CHANGE_DEFINITION $40
- #define SCSI_CPU_COMPARE $39
- #define SCSI_CPU_COPY $18
- #define SCSI_CPU_COPY_AND_VERIFY $3a
- #define SCSI_CPU_INQUIRY $12
- #define SCSI_CPU_LOG_SELECT $4c
- #define SCSI_CPU_LOG_SENSE $4d
- #define SCSI_CPU_READ_BUFFER $3c
- #define SCSI_CPU_RECEIVE $08
- #define SCSI_CPU_RECEIVE_DIAGNOSTIC_RESULTS $1c
- #define SCSI_CPU_REQUEST_SENSE $03
- #define SCSI_CPU_SEND $0a
- #define SCSI_CPU_SEND_DIAGNOSTIC $1d
- #define SCSI_CPU_TEST_UNIT_READY $00
- #define SCSI_CPU_WRITE_BUFFER $3b
- /* Write Once devices */
- #define SCSI_WO_CHANGE_DEFINITION $40
- #define SCSI_WO_COMPARE $39
- #define SCSI_WO_COPY $18
- #define SCSI_WO_COPY_AND_VERIFY $3a
- #define SCSI_WO_INQUIRY $12
- #define SCSI_WO_LOCK_UNLOCK_CACHE $36
- #define SCSI_WO_LOG_SELECT $4c
- #define SCSI_WO_LOG_SENSE $4d
- #define SCSI_WO_MEDIUM_SCAN $38
- #define SCSI_WO_MODE_SELECT_6 $15
- #define SCSI_WO_MODE_SELECT_10 $55
- #define SCSI_WO_MODE_SENSE_6 $1a
- #define SCSI_WO_MODE_SENSE_10 $5a
- #define SCSI_WO_PRE_FETCH $34
- #define SCSI_WO_PREVENT_ALLOW_MEDIUM_REMOVAL $1e
- #define SCSI_WO_READ_6 $08
- #define SCSI_WO_READ_10 $28
- #define SCSI_WO_READ_12 $a8
- #define SCSI_WO_READ_BUFFER $3c
- #define SCSI_WO_READ_CAPACITY $25
- #define SCSI_WO_READ_LONG $3e
- #define SCSI_WO_REASSIGN_BLOCKS $07
- #define SCSI_WO_RECEIVE_DIAGNOSTIC_RESULTS $1c
- #define SCSI_WO_RELEASE $17
- #define SCSI_WO_REQUEST_SENSE $03
- #define SCSI_WO_RESERVE $16
- #define SCSI_WO_REZERO_UNIT $01
- #define SCSI_WO_SEARCH_DATA_EQUAL_10 $31
- #define SCSI_WO_SEARCH_DATA_EQUAL_12 $b1
- #define SCSI_WO_SEARCH_DATA_HIGH_10 $30
- #define SCSI_WO_SEARCH_DATA_HIGH_12 $b0
- #define SCSI_WO_SEARCH_DATA_LOW_10 $32
- #define SCSI_WO_SEARCH_DATA_LOW_12 $b2
- #define SCSI_WO_SEEK_6 $0b
- #define SCSI_WO_SEEK_10 $2b
- #define SCSI_WO_SEND_DIAGNOSTIC $1d
- #define SCSI_WO_SET_LIMITS_10 $33
- #define SCSI_WO_SET_LIMITS_12 $b3
- #define SCSI_WO_START_STOP_UNIT $1b
- #define SCSI_WO_SYNCHRONIZE_CACHE $35
- #define SCSI_WO_TEST_UNIT_READY $00
- #define SCSI_WO_VERIFY_10 $2f
- #define SCSI_WO_VERIFY_12 $af
- #define SCSI_WO_WRITE_6 $0a
- #define SCSI_WO_WRITE_10 $2a
- #define SCSI_WO_WRITE_12 $aa
- #define SCSI_WO_WRITE_AND_VERIFY_10 $2e
- #define SCSI_WO_WRITE_AND_VERIFY_12 $ae
- #define SCSI_WO_WRITE_BUFFER $3b
- #define SCSI_WO_WRITE_LONG $3f
- /* CD-ROM devices */
- #define SCSI_CD_CHANGE_DEFINITION $40
- #define SCSI_CD_COMPARE $39
- #define SCSI_CD_COPY $18
- #define SCSI_CD_COPY_AND_VERIFY $3a
- #define SCSI_CD_INQUIRY $12
- #define SCSI_CD_LOCK_UNLOCK_CACHE $36
- #define SCSI_CD_LOG_SELECT $4c
- #define SCSI_CD_LOG_SENSE $4d
- #define SCSI_CD_MODE_SELECT_6 $15
- #define SCSI_CD_MODE_SELECT_10 $55
- #define SCSI_CD_MODE_SENSE_6 $1a
- #define SCSI_CD_MODE_SENSE_10 $5a
- #define SCSI_CD_PAUSE_RESUME $4b
- #define SCSI_CD_PLAY_AUDIO_10 $45
- #define SCSI_CD_PLAY_AUDIO_12 $a5
- #define SCSI_CD_PLAY_AUDIO_MSF $47
- #define SCSI_CD_PLAY_AUDIO_TRACK_INDEX $48
- #define SCSI_CD_PLAY_TRACK_RELATIVE_10 $49
- #define SCSI_CD_PLAY_TRACK_RELATIVE_12 $a9
- #define SCSI_CD_PRE_FETCH $34
- #define SCSI_CD_PREVENT_ALLOW_MEDIUM_REMOVAL $1e
- #define SCSI_CD_READ_6 $08
- #define SCSI_CD_READ_10 $28
- #define SCSI_CD_READ_12 $a8
- #define SCSI_CD_READ_BUFFER $3c
- #define SCSI_CD_READ_CD_ROM_CAPACITY $25
- #define SCSI_CD_READ_HEADER $44
- #define SCSI_CD_READ_LONG $3e
- #define SCSI_CD_READ_SUB_CHANNEL $42
- #define SCSI_CD_READ_TOC $43
- #define SCSI_CD_RECEIVE_DIAGNOSTIC_RESULT $1c
- #define SCSI_CD_RELEASE $17
- #define SCSI_CD_REQUEST_SENSE $03
- #define SCSI_CD_RESERVE $16
- #define SCSI_CD_REZERO_UNIT $01
- #define SCSI_CD_SEARCH_DATA_EQUAL_10 $31
- #define SCSI_CD_SEARCH_DATA_EQUAL_12 $b1
- #define SCSI_CD_SEARCH_DATA_HIGH_10 $30
- #define SCSI_CD_SEARCH_DATA_HIGH_12 $b0
- #define SCSI_CD_SEARCH_DATA_LOW_10 $32
- #define SCSI_CD_SEARCH_DATA_LOW_12 $b2
- #define SCSI_CD_SEEK_6 $0b
- #define SCSI_CD_SEEK_10 $2b
- #define SCSI_CD_SEND_DIAGNOSTIC $1d
- #define SCSI_CD_SET_LIMITS_10 $33
- #define SCSI_CD_SET_LIMITS_12 $b3
- #define SCSI_CD_START_STOP_UNIT $1b
- #define SCSI_CD_SYNCHRONIZE_CACHE $35
- #define SCSI_CD_TEST_UNIT_READY $00
- #define SCSI_CD_VERIFY_10 $2f
- #define SCSI_CD_VERIFY_12 $af
- #define SCSI_CD_WRITE_BUFFER $3b
- /* Scanner devices */
- #define SCSI_SC_CHANGE_DEFINITION $40
- #define SCSI_SC_COMPARE $39
- #define SCSI_SC_COPY $18
- #define SCSI_SC_COPY_AND_VERIFY $3a
- #define SCSI_SC_GET_DATA_BUFFER_STATUS $34
- #define SCSI_SC_GET_WINDOW $25
- #define SCSI_SC_INQUIRY $12
- #define SCSI_SC_LOG_SELECT $4c
- #define SCSI_SC_LOG_SENSE $4d
- #define SCSI_SC_MODE_SELECT_6 $15
- #define SCSI_SC_MODE_SELECT_10 $55
- #define SCSI_SC_MODE_SENSE_6 $1a
- #define SCSI_SC_MODE_SENSE_10 $5a
- #define SCSI_SC_OBJECT_POSITION $31
- #define SCSI_SC_READ $28
- #define SCSI_SC_READ_BUFFER $3c
- #define SCSI_SC_RECEIVE_DIAGNOSTIC_RESULTS $1c
- #define SCSI_SC_RELEASE_UNIT $17
- #define SCSI_SC_REQUEST_SENSE $03
- #define SCSI_SC_RESERVE_UNIT $16
- #define SCSI_SC_SCAN $1b
- #define SCSI_SC_SET_WINDOW $24
- #define SCSI_SC_SEND $2a
- #define SCSI_SC_SEND_DIAGNOSTIC $1d
- #define SCSI_SC_TEST_UNIT_READY $00
- #define SCSI_SC_WRITE_BUFFER $3b
- /* Optical memory devices */
- #define SCSI_OM_CHANGE_DEFINITION $40
- #define SCSI_OM_COMPARE $39
- #define SCSI_OM_COPY $18
- #define SCSI_OM_COPY_AND_VERIFY $3a
- #define SCSI_OM_ERASE_10 $2c
- #define SCSI_OM_ERASE_12 $ac
- #define SCSI_OM_FORMAT_UNIT $04
- #define SCSI_OM_INQUIRY $12
- #define SCSI_OM_LOCK_UNLOCK_CACHE $36
- #define SCSI_OM_LOG_SELECT $4c
- #define SCSI_OM_LOG_SENSE $4d
- #define SCSI_OM_MEDIUM_SCAN $38
- #define SCSI_OM_MODE_SELECT_6 $15
- #define SCSI_OM_MODE_SELECT_10 $55
- #define SCSI_OM_MODE_SENSE_6 $1a
- #define SCSI_OM_MODE_SENSE_10 $5a
- #define SCSI_OM_PRE_FETCH $34
- #define SCSI_OM_PREVENT_ALLOW_MEDIUM_REMOVAL $1e
- #define SCSI_OM_READ_6 $08
- #define SCSI_OM_READ_10 $28
- #define SCSI_OM_READ_12 $a8
- #define SCSI_OM_READ_BUFFER $3c
- #define SCSI_OM_READ_CAPACITY $25
- #define SCSI_OM_READ_DEFECT_DATA_10 $37
- #define SCSI_OM_READ_DEFECT_DATA_12 $b7
- #define SCSI_OM_READ_GENERATION $29
- #define SCSI_OM_READ_LONG $3e
- #define SCSI_OM_READ_UPDATED_BLOCK $2d
- #define SCSI_OM_REASSIGN_BLOCKS $07
- #define SCSI_OM_RECEIVE_DIAGNOSTIC_RESULTS $1c
- #define SCSI_OM_RELEASE $17
- #define SCSI_OM_REQUEST_SENSE $03
- #define SCSI_OM_RESERVE $16
- #define SCSI_OM_REZERO_UNIT $01
- #define SCSI_OM_SEARCH_DATA_EQUAL_10 $31
- #define SCSI_OM_SEARCH_DATA_EQUAL_12 $b1
- #define SCSI_OM_SEARCH_DATA_HIGH_10 $30
- #define SCSI_OM_SEARCH_DATA_HIGH_12 $b0
- #define SCSI_OM_SEARCH_DATA_LOW_10 $32
- #define SCSI_OM_SEARCH_DATA_LOW_12 $b2
- #define SCSI_OM_SEEK_6 $0b
- #define SCSI_OM_SEEK_10 $2b
- #define SCSI_OM_SEND_DIAGNOSTIC $1d
- #define SCSI_OM_SET_LIMITS_10 $33
- #define SCSI_OM_SET_LIMITS_12 $b3
- #define SCSI_OM_START_STOP_UNIT $1b
- #define SCSI_OM_SYNCHRONIZE_CACHE $35
- #define SCSI_OM_TEST_UNIT_READY $00
- #define SCSI_OM_UPDATE_BLOCK $3d
- #define SCSI_OM_VERIFY_10 $2f
- #define SCSI_OM_VERIFY_12 $af
- #define SCSI_OM_WRITE_6 $0a
- #define SCSI_OM_WRITE_10 $2a
- #define SCSI_OM_WRITE_12 $aa
- #define SCSI_OM_WRITE_AND_VERIFY_10 $2e
- #define SCSI_OM_WRITE_AND_VERIFY_12 $ae
- #define SCSI_OM_WRITE_BUFFER $3b
- #define SCSI_OM_WRITE_LONG $3f
- /* Medium changer devices */
- #define SCSI_MC_CHANGE_DEFINITION $40
- #define SCSI_MC_EXCHANGE_MEDIUM $a6
- #define SCSI_MC_INITIALIZE_ELEMENT_STATUS $07
- #define SCSI_MC_INQUIRY $12
- #define SCSI_MC_LOG_SELECT $4c
- #define SCSI_MC_LOG_SENSE $4d
- #define SCSI_MC_MODE_SELECT_6 $15
- #define SCSI_MC_MODE_SELECT_10 $55
- #define SCSI_MC_MODE_SENSE_6 $1a
- #define SCSI_MC_MODE_SENSE_10 $5a
- #define SCSI_MC_MOVE_MEDIUM $a5
- #define SCSI_MC_POSITION_TO_ELEMENT $2b
- #define SCSI_MC_PREVENT_ALLOW_MEDIUM_REMOVAL $1e
- #define SCSI_MC_READ_BUFFER $3c
- #define SCSI_MC_READ_ELEMENT_STATUS $b8
- #define SCSI_MC_RECEIVE_DIAGNOSTIC_RESULTS $1c
- #define SCSI_MC_RELEASE $17
- #define SCSI_MC_REQUEST_VOLUME_ELEMENT_ADDRESS $b5
- #define SCSI_MC_REQUEST_SENSE $03
- #define SCSI_MC_RESERVE $16
- #define SCSI_MC_REZERO_UNIT $01
- #define SCSI_MC_SEND_DIAGNOSTIC $1d
- #define SCSI_MC_SEND_VOLUME_TAG $b6
- #define SCSI_MC_TEST_UNIT_READY $00
- #define SCSI_MC_WRITE_BUFFER $3b
- /* Communications devices */
- #define SCSI_COM_CHANGE_DEFINITION $40
- #define SCSI_COM_GET_MESSAGE_6 $08
- #define SCSI_COM_GET_MESSAGE_10 $28
- #define SCSI_COM_GET_MESSAGE_12 $a8
- #define SCSI_COM_INQUIRY $12
- #define SCSI_COM_LOG_SELECT $4c
- #define SCSI_COM_LOG_SENSE $4d
- #define SCSI_COM_MODE_SELECT_6 $15
- #define SCSI_COM_MODE_SELECT_10 $55
- #define SCSI_COM_MODE_SENSE_6 $1a
- #define SCSI_COM_MODE_SENSE_10 $5a
- #define SCSI_COM_READ_BUFFER $3c
- #define SCSI_COM_RECEIVE_DIAGNOSTIC_RESULTS $1c
- #define SCSI_COM_REQUEST_SENSE $03
- #define SCSI_COM_SEND_DIAGNOSTIC $1d
- #define SCSI_COM_SEND_MESSAGE_6 $0a
- #define SCSI_COM_SEND_MESSAGE_10 $2a
- #define SCSI_COM_SEND_MESSAGE_12 $aa
- #define SCSI_COM_TEST_UNIT_READY $00
- #define SCSI_COM_WRITE_BUFFER $3b
-